/**
 * @typedef {object} Configs
 * @property {boolean} isDebug
 * @property {object} app
 * @property {string} app.name
*/
const Configs = {
  isDebug:null,
  app:{}
}


/**
   * @typedef {string} LayerType
   */


  /**
 * Enum for tri-state values.
 * @readonly
 * @enum {string}
 */
  LayerType =  {
    BACKGROUND: "background",
    WEBPAGE: "webPage",
    CONTENT: "content",
  }
Object.freeze(LayerType);



  /**
*@typedef {Object} Message
*@property {LayerType} from
*@property {LayerType} to
*@property {String} content
*@property {LayerType} responseTo
*@property {LayerType} responseCall
*@property {number} version
*/
class Message {
/**
 * @param {Partial<Message>} _partial>
*/
  constructor(_partial) {
    this.from = _partial.from;
    this.to = _partial.to;
    this.content = _partial.content;
    this.responseTo = _partial.responseTo;
    this.responseCall = _partial.responseCall;
    this.version = _partial.version;
  }

}
